#ifndef IMU_FACTOR_H
#define IMU_FACTOR_H
#include <iostream>
#include <vector>

#include "math_utils.h"
#include "state.h"

class ImuFactor {
public:  
   static void ComputeResidualAndJacobianPoseGraph(const State& last_imu_state, const State& imu_state, const State& last_state, const State& state, Eigen::Matrix<double, 5, 1> &residual, Eigen::Matrix<double, 5, 8> &jacobianXi, Eigen::Matrix<double, 5, 5> &jacobianXj, const Eigen::Vector3d& last_imu, const Eigen::Vector3d& curr_imu, const double& dt);
};

#endif 
